#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@File    :   App_ReadDataById_0x22_test.py
@Time    :   2022/08/31 13:31:28
@Author  :   YangLiang
@Version :   1.0
@Contact :   yangliang@chengtech.com
@License :   (C)Copyright 2022-2025
@Desc    :   None
'''

# here put the import lib
from ast import If
# from lib2to3.pgen2 import driver
from pickle import FALSE
from pytest_assume.plugin import assume

import pytest
import logging
import time
import requests
from sympy import I
# from sympy import assuming
from commDriver.TS_CAN import *
import allure
import sys
import Set_up
from collections.abc import Iterable

from sqlalchemy import false
sys.dont_write_bytecode = True

#   ('22 F1 86','','123')  已经自动在会话模式切换里进行测试

DID = [ # VehicleManufacturerECUBootSoftwareVersionNumber 底层软件Bootload版本号
        ('22 F1 80', Set_up.VehicleManufacturerECUBootSoftwareVersionNumber, '13'),    
        # ECUHardwareVersionNumber 硬件版本号
        ('22 F1 93', '62 F1 93' + Set_up.ECUHardwareVersionNumber, '13'),
        # ECUSoftwareCode 软件编码
        ('22 F1 94', '62 F1 94' +  Set_up.ECUSoftwareCode, '13'),
        # ECUSoftwareVersionNumber 软件版本号
        ('22 F1 95', [0x62,0xF1,0x95] + Set_up.ECUSoftwareVersionNumber, '13'),
        # DATASETSoftwareNumber DATASET软件序列号
        # ('22 FF 94', '62 FF 94 4A 55 00 11 62 70 00 00 00', '13'),
        # # DATASETSoftwareVersionNumber DATASET软件版本号
        # ('22 FF 95', [0x62,0xFF,0x95]  + Set_up.ECUSoftwareVersionNumber, '13'),
        # FactoryMode 生产模式
        ('22 34 01', '62 34 01 00', '13'),
        ('22 21 00', '62 21 00 ' + Set_up.VariantCoding[0],'13'),          # Variant Coding 配置字
        # VehicleIdentification(VIN) 车辆识别码
        ('22 F1 90', '62 F1 90 00 00 31 32 33 34 35 36 37 38 39 00 00 00 00 00 00', '13'),
        #('22 02 85', '62 02 85 8A', '13'),                                 # 电压值*0.1 电压值会波动，所以重新写用例
        ('22 02 8D', '62 02 8D', '13'),                                     # 温度
        # 物理值 = 读取数值 * 0.003906
        ('22 10 11', '62 10 11 02 46', '13'),
        ('22 01 03', '62 01 03 00', '13'),                                  # 安全访问次数
        ('22 34 04', '62 34 04', '13'),                                     # 快速水平偏差角
        ('22 34 03', '62 34 03', '13'),                                     # 慢速水平偏差角
        ('22 34 41', '62 34 41', '13'),                                     # 快速垂直偏差角
        ('22 34 42', '62 34 42', '13'),                                     # 慢速垂直偏差角 
        #('22 F1 81', '62 F1 81', '13'),                                     # 供应商软件版本   Byte0：'MajorVersion Byte1  'MinorVersion Byte2~3 'Revision Byte4~7 'PlatformVersion
    ]                               

DID_Programming = [ ('22 F1 80', Set_up.VehicleManufacturerECUBootSoftwareVersionNumber, '2'),    # VehicleManufacturerECUBootSoftwareVersionNumber 底层软件Bootload版本号
                    # ECUHardwareVersionNumber 硬件版本号
                    ('22 F1 93', '62 F1 93' + Set_up.ECUHardwareVersionNumber, '2'),
                    # ECUSoftwareCode 软件编码
                    ('22 F1 94', '62 F1 94' +  Set_up.ECUSoftwareCode, '2'),
                    # ECUSoftwareVersionNumber 软件版本号
                    ('22 F1 95', [0x62,0xF1,0x95] + Set_up.ECUSoftwareVersionNumber, '2')]

DID_NRC13 = [('22', '7F 22 13'),
             ('22 F1', '7F 22 13'),
             ('22 10', '7F 22 13'),
             ('22 F1 80 01', '7F 22 13'),
             ('22 10 11 01', '7F 22 13'),
             ('22 01 03 01', '7F 22 13'),
             ('22 02', '7F 22 13'),
             ('22 02 8D 01', '7F 22 13'),
             ('22 F1 90 01', '7F 22 13'),
             ('22 F1 94 01', '7F 22 13'),
             ('22 F1 95 FF', '7F 22 13'),
             ('22 34', '7F 22 13')
             ]

DID_NRC31_NoSupportProgramming = [('22 FF 94', '7F 22 31'),
                                  ('22 FF 95', '7F 22 31'),
                                  ('22 34 01', '7F 22 31'),
                                  ('22 21 00', '7F 22 31'),
                                  ('22 F1 90', '7F 22 31'),
                                  ('22 02 85', '7F 22 31'),
                                  ('22 02 8D', '7F 22 31'),
                                  ('22 10 11', '7F 22 31'),
                                  ('22 34 04', '7F 22 31'),
                                  ('22 34 03', '7F 22 31'),
                                  ('22 34 41', '7F 22 31'),
                                  ('22 34 42', '7F 22 31'),
                                  ('22 01 03', '7F 22 31'),
                                  ('22 F1 A1', '7F 22 31')
                                  ]

DID_NRC31 = [   ('22 F1 A1', '7F 22 31'),
                ('22 FF 94', '7F 22 31'),
                ('22 FF 95', '7F 22 31'),
            ]


class Test_ReadDataById_Phy(object):

    def ReadDID(self,Driver, req, resp, session):
        iStep = 1
        if req == '22 10 11':
        # 设置车速>3kph
            Driver['CAN'].write_db_signal('Vehicle_CAN', 'BCM', 'IPB_0x121', 'IPB_Vehicle_Speed_S', 40)
            time.sleep(0.5)
            msg = Driver['CAN'].read_db_signal('Vehicle_CAN', 'BCM', 'IPB_0x121', 'IPB_Vehicle_Speed_S')
            logging.info('speed is:{0}'.format(msg))
            time.sleep(0.5)
        if req == '22 F1 90':
            iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, "2E F1 90 00 00 31 32 33 34 35 36 37 38 39 00 00 00 00 00 00", '6E F1 90', 3, iStep, True)
        if req == '22 21 00':
            iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, "2e f1 a1 ff ff ff ff ff ff ff ff", '6e f1 a1', 3, iStep, True)
            iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, "2e 21 00 " + Set_up.VariantCoding[0], '6e 21 00', 3, iStep, True)
        
        iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, req, resp, session, iStep)

        if req == '22 10 11':
        # 设置车速>3kph
            Driver['CAN'].write_db_signal('Vehicle_CAN', 'BCM', 'IPB_0x121', 'IPB_Vehicle_Speed_S', 0)
            time.sleep(0.5)
            msg = Driver['CAN'].read_db_signal('Vehicle_CAN', 'BCM', 'IPB_0x121', 'IPB_Vehicle_Speed_S')
            logging.info('speed is:{0}'.format(msg))
            time.sleep(0.5)

    ids = [f'{req}' for req, resp, session in DID]
    @allure.severity('normal')
    @allure.title('Test {req} of read data by identifier 0x22')
    @allure.story('Read data by identifier test')
    @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
    @pytest.mark.parametrize('req, resp,session', DID, ids=ids)
    def test_ReadDataById_Default_Phy(self, action, Driver, req, resp, session):
        time.sleep(0.2)
        self.ReadDID(Driver, req, resp, 1)

        

    ids = [f'{req}' for req, resp, session in DID]
    @allure.severity('normal')
    @allure.title('Test {req} of read data by identifier 0x22')
    @allure.story('Read data by identifier test')
    @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
    @pytest.mark.parametrize('req, resp,session', DID, ids=ids)
    def test_ReadDataById_Extended_Phy(self, action, Driver, req, resp, session):
        time.sleep(0.1)
        if session.find('3') != -1:
            self.ReadDID(Driver, req, resp, 3)

    ids = [f'{req}' for req, resp, session in DID_Programming]
    @allure.severity('normal')
    @allure.title('Test {req} of read data by identifier 0x22')
    @allure.story('Read data by identifier test')
    @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
    @pytest.mark.parametrize('req, resp,session', DID_Programming, ids=ids)
    def test_ReadDataById_Programming_Phy(self, action, Driver, req, resp, session):
        time.sleep(0.1)
        if session.find('2') != -1:
            self.ReadDID(Driver, req, resp, 2)




    ids = [f'{req}' for req, resp in DID_NRC13]
    @allure.severity('normal')
    @allure.title('Test 0x22 NRC13 in default session with function addressing')
    @allure.description('Test 0x22 NRC13 in default session with function addressing')
    @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
    @pytest.mark.parametrize('req, resp', DID_NRC13, ids=ids)
    def test_ReadDataById_NRC13_Default_phy(self, action, Driver, req, resp):
        iStep = 1
        time.sleep(1)
        iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, req, resp, 1, iStep)



    ids = [f'{req}' for req, resp in DID_NRC13]
    @allure.severity('normal')
    @allure.title('Test 0x22 NRC13 in extended session with function addressing')
    @allure.description('Test 0x22 NRC13 in extended session with function addressing')
    @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
    @pytest.mark.parametrize('req, resp', DID_NRC13, ids=ids)
    def test_ReadDataById_NRC13_Extended_phy(self, action, Driver, req, resp):
        iStep = 1
        time.sleep(1)
        iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, req, resp, 3, iStep, False)



    ids = [f'{req}' for req, resp in DID_NRC13]
    @allure.severity('normal')
    @allure.title('Test 0x22 NRC13 in programming session with function addressing')
    @allure.description('Test 0x22 NRC13 in programming session with function addressing')
    @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
    @pytest.mark.parametrize('req, resp', DID_NRC13, ids=ids)
    def test_ReadDataById_NRC13_Programming_phy(self, action, Driver, req, resp):
        iStep = 1
        time.sleep(1)
        iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, req, resp, 2, iStep, False)




    ids = [f'{req}' for req, resp in DID_NRC31_NoSupportProgramming]
    @allure.severity('normal')
    @allure.title('Test 0x22 NRC31 in programming session with function addressing')
    @allure.description('Test 0x22 NRC31 in programming session with function addressing')
    @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
    @pytest.mark.parametrize('req, resp', DID_NRC31_NoSupportProgramming, ids=ids)
    def test_ReadDataById_NRC31_Programming_phy(self, action, Driver, req, resp):
        iStep = 1
        iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, req, resp, 2, iStep, False)

    ids = [f'{req}' for req, resp in DID_NRC31]
    @allure.severity('normal')
    @allure.title('Test 0x22 NRC31 in defalut session with function addressing')
    @allure.description('Test 0x22 NRC31 in defalut session with function addressing')
    @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
    @pytest.mark.parametrize('req, resp', DID_NRC31, ids=ids)
    def test_ReadDataById_NRC31_defalut_phy(self, action, Driver, req, resp):
        iStep = 1
        iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, req, resp, 1, iStep, False)

    ids = [f'{req}' for req, resp in DID_NRC31]
    @allure.severity('normal')
    @allure.title('Test 0x22 NRC31 in extended session with function addressing')
    @allure.description('Test 0x22 NRC31 in extended session with function addressing')
    @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
    @pytest.mark.parametrize('req, resp', DID_NRC31, ids=ids)
    def test_ReadDataById_NRC31_Extended_phy(self, action, Driver, req, resp):
        iStep = 1
        iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, req, resp, 3, iStep, False)


    @allure.severity('normal')
    @allure.title('Test 0x02 0x85 of read data by identifier 0x22')
    @allure.story('Read data by identifier test')
    @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
    def test_ReadDataById_0285_Default_Phy(self, action, Driver):
        time.sleep(1)
        iStep = 1
        iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, "22 02 85", '62 02 85', 1, iStep, False)
        with assume:
            # 电压值有误差，所以修改为范围判断
            assert uds_resp[3] > 130 and uds_resp[3] < 150 

    @allure.severity('normal')
    @allure.title('Test 0x02 0x85 of read data by identifier 0x22')
    @allure.story('Read data by identifier test')
    @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
    def test_ReadDataById_0285_Programming_Phy(self, action, Driver):
        time.sleep(1)
        iStep = 1
        iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, "22 02 85", '62 02 85', 3, iStep, False)
        with assume:
            # 电压值有误差，所以修改为范围判断
            assert uds_resp[3] > 130 and uds_resp[3] < 150




    # @allure.severity('normal')
    # @allure.title('Test 0x22 NRCpriority in default session with function addressing')
    # @allure.description('Test 0x22 NRCpriority in default session with function addressing')
    # @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
    # def test_ReadDataById_NRCpriority_Default_Fun(self, action, Driver):
    #     uds_rep, size = Driver['UDSFun'].req_and_res_can([0x10, 0x01], 2)
    #     with assume:
    #         assert uds_rep[0:2] == [0x50, 0x01]
    #     uds_rep, size = Driver['UDSFun'].req_and_res_can([0x22, 0xF1, 0x95, 0x34, 0xF0], 5)
    #     with assume:
    #         assert uds_rep[0:3] == [0x7F, 0x22, 0x13]

    # @allure.severity('normal')
    # @allure.title('Test 0x22 NRCpriority in extended session with function addressing')
    # @allure.description('Test 0x22 NRCpriority in extended session with function addressing')
    # @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
    # def test_ReadDataById_NRCpriority_Extended_Fun(self, action, Driver):

    #     uds_rep, size = Driver['UDSFun'].req_and_res_can([0x10, 0x03], 2)
    #     with assume:
    #         assert uds_rep[0:2] == [0x50, 0x03]

    #     uds_rep, size = Driver['UDSFun'].req_and_res_can([0x22, 0xF1, 0x95, 0x34, 0xF0], 5)
    #     with assume:
    #         assert uds_rep[0:3] == [0x7F, 0x22, 0x13]


# class Test_ReadDataById_Fun(object):

#     ids = [f'{req}' for req, resp, session in DID]
#     @allure.severity('normal')
#     @allure.story('Read data by identifier test')
#     @allure.title('Test {req} of read data by identifier 0x22')
#     @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#     @pytest.mark.parametrize('req, resp,session', DID, ids=ids)
#     def test_ReadDataById_Default_Programming_Extended_Fun(self, action, Driver, req, resp, session):
#         time.sleep(5)
#         iStep = 1
#         if session.find('1') != -1:
#             iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, req, resp, 1, iStep, False, 'UDSFun')
#         if session.find('3') != -1:
#             iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, req, resp, 3, iStep, False, 'UDSFun')
#         if session.find('2') != -1:
#             iStep,uds_resp, size = Driver['CAN'].checkReqResp(Driver, req, resp, 2, iStep, False, 'UDSFun')
#      @allure.severity('normal')
#      @allure.story('Read data by identifier test')
#      @allure.title('Test DID F1 94 of read data by identifier 0x22')
#      @allure.description('Test DID F1 94 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test postive response of 0x22 in default session with physical addressing
#      def test_ReadDataById_F194_Default_Programming_Extended_Phy(self,action,Driver):
#          req = Driver['CAN'].strToToHexBytes('22F194')
#          resp = Driver['CAN'].strToToHexBytes(Set_up.ECUSoftwareCode)
#          Driver['CAN'].test_ReadDataById_Phy(Driver, req, resp,1)
#          Driver['CAN'].test_ReadDataById_Phy(Driver, req, resp,2)
#          Driver['CAN'].test_ReadDataById_Phy(Driver, req, resp,3)

# #      @allure.severity('critical') 无备用零件号，注释掉
# #      @allure.title('Test DID F1 87 of read data by identifier 0x22')
# #      @allure.description('Test DID F1 87 of 0x22 in default session with physical addressing')
# #      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# # #    Test DID F1 87 of 0x22 in default session with physical addressing
# #      def test_ReadDataById_F187_Default_Phy(self,action,Driver):
# #          CowinSparePartNumber = Set_up.CowinSparePartNumber
# #          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
# #          with assume: assert uds_rep[0:2] == [0x50,0x01]

# #          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x87],3)
# #          for i in range(len(CowinSparePartNumber)):
# #              with assume: assert size == 23
# #              with assume: assert hex(uds_rep[i+3]) == hex(CowinSparePartNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 93 of read data by identifier 0x22')
#      @allure.description('Test DID F1 93 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 93 of 0x22 in default session with physical addressing
#      def test_ReadDataById_F193_Default_Phy(self,action,Driver):
#          ECUHardwareVersionNumber = Set_up.ECUHardwareVersionNumber
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,93],3)
#          with assume: assert size == 11
#          for i in range(len(ECUHardwareVersionNumber)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ECUHardwareVersionNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 8A of read data by identifier 0x22')
#      @allure.description('Test DID F1 8A of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 8A of 0x22 in default session with physical addressing
#      def test_ReadDataById_F18A_Default_Phy(self,action,Driver):
#          systemSupplierIdentifier = [0x39,0x54,0x48]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x8A],3)
#          with assume: assert size == 6
#          for i in range(len(systemSupplierIdentifier)):
#              with assume: assert hex(uds_rep[i+3]) == hex(systemSupplierIdentifier[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 91 of read data by identifier 0x22')
#      @allure.description('Test DID F1 91 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 91 of 0x22 in default session with physical addressing
#      def test_ReadDataById_F191_Default_Phy(self,action,Driver):
#          ManufacturerECUHardwareNumber = [0x30,0x2E,0x30,0x2E,0x31]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x91],3)
#          with assume: assert size == 8
#          for i in range(len(ManufacturerECUHardwareNumber)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ManufacturerECUHardwareNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 90 of read data by identifier 0x22')
#      @allure.description('Test DID F1 90 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 90 of 0x22 in default session with physical addressing
#      def test_ReadDataById_F190_Default_Phy(self,action,Driver):
#          VIN = [0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x90],3)
#          with assume: assert size == 20
#          for i in range(len(VIN)):
#              with assume: assert hex(uds_rep[i+3]) == hex(VIN[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 8B of read data by identifier 0x22')
#      @allure.description('Test DID F1 8B of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 8B of 0x22 in default session with physical addressing
#      def test_ReadDataById_F18B_Default_Phy(self,action,Driver):
#          ManufactureDate = [0x20,0x22,0x06,0x14]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x8B],3)
#          with assume: assert size == 7
#          for i in range(len(ManufactureDate)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ManufactureDate[i])

#      @allure.severity('critical')
#      @allure.title('Test DID F1 8C of read data by identifier 0x22')
#      @allure.description('Test DID F1 8C of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 8C of 0x22 in default session with physical addressing
#      def test_ReadDataById_F18C_Default_Phy(self,action,Driver):
#          ECU_Serial_Number = [0x30,0x34,0x34,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x8C],3)
#          with assume: assert size == 15
#          for i in range(len(ECU_Serial_Number)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ECU_Serial_Number[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 92 of read data by identifier 0x22')
#      @allure.description('Test DID F1 92 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 92 of 0x22 in default session with physical addressing
#      def test_ReadDataById_F192_Default_Phy(self,action,Driver):
#          Supplier_ECU_Hardware_Version = [0x32,0x2e,0x31,0x2e,0x31,0x2e,0x30]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x92],3)
#          with assume: assert size == 10
#          for i in range(len(Supplier_ECU_Hardware_Version)):
#              with assume: assert hex(uds_rep[i+3]) == hex(Supplier_ECU_Hardware_Version[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 94 of read data by identifier 0x22')
#      @allure.description('Test DID F1 94 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 94 of 0x22 in default session with physical addressing
#      def test_ReadDataById_F194_Default_Phy(self,action,Driver):
#          Supplier_ECU_Software_Version = [0x32,0x2e,0x37,0x2e,0x31,0x33,0x2e,0x42]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x94],3)
#          with assume: assert size == 11
#          for i in range(len(Supplier_ECU_Software_Version)):
#              with assume: assert hex(uds_rep[i+3]) == hex(Supplier_ECU_Software_Version[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 99 of read data by identifier 0x22')
#      @allure.description('Test DID F1 99 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 99 of 0x22 in default session with physical addressing
#      def test_ReadDataById_F199_Default_Phy(self,action,Driver):
#          ProgrammingDate = Set_up.ProgrammingDate
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x99],3)
#          with assume: assert size == 7
#          for i in range(len(ProgrammingDate)):
#               with assume: assert hex(uds_rep[i+3]) == hex(ProgrammingDate[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 00 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 00 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 00 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F00_Default_Phy(self,action,Driver):
#          UDS_Configure_Parameter = [0xFF,0xFF,0xFF,0xE0]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x00],3)
#          with assume: assert size == 7
#          for i in range(len(UDS_Configure_Parameter)):
#               with assume: assert hex(uds_rep[i+3]) == hex(UDS_Configure_Parameter[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 01 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 01 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 01 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F01_Default_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x01],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3:5] == [0x00,0x00]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 02 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 02 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 02 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F02_Default_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x02],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3:5] == [0x00,0x00]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 03 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 03 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 03 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F03_Default_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x03],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3:5] == [0x00,0x00]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 04 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 04 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 04 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F04_Default_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x04],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 05 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 05 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 05 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F05_Default_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x05],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 06 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 06 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 06 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F06_Default_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x06],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 07 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 07 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 07 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F07_Default_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x07],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 08 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 08 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 08 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F08_Default_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x08],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x1E

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 09 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 09 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 09 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F09_Default_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x09],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 10 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 10 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 10 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F10_Default_Phy(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate')
#          logging.info('YAS_YawRate is {0}'.format(msg))
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x10],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x80 and uds_rep[4] == 0x00)
#        #   Set signal YAS_YawrateSigValidData = 0(valid)
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawrateSigValidData',0)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawrateSigValidData')
#          logging.info('YAS_YawrateSigValidData is {0}'.format(msg))

#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate',10)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate')
#          logging.info('YAS_YawRate is {0}'.format(msg))

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x10],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x83 and uds_rep[4] == 0xE8)
#          # Set signal YAS_YawRate = 0
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate',0)
#          time.sleep(0.5)

#          # Set signal YAS_YawrateSigValidData = 3(invalid)
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawrateSigValidData',3)
#          time.sleep(0.5)

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x10],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x80 and uds_rep[4] == 0x00)

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 12 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 12 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 12 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F12_Default_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x12],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 13 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 13 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 13 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F13_Default_Phy(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear')
#          logging.info('TCU_ActualGear is {0}'.format(msg))
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00
#        #   Set signal TCU_ActualGear =11(gear P)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGearValidData',1)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGearValidData')
#          logging.info('TCU_ActualGearValidData is {0}'.format(msg))

#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',11)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear')
#          logging.info('TCU_ActualGear is {0}'.format(msg))

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x01

#          # Set signal TCU_ActualGear =7(gear D)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',7)
#          time.sleep(0.5)
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x03

#          # Set signal TCU_ActualGear =10(gear N)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',10)
#          time.sleep(0.5)
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x02

#          # Set signal TCU_ActualGear =10(gear R)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',9)
#          time.sleep(0.5)
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x04

#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',15)
#          time.sleep(0.5)

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 14 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 14 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 14 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F14_Default_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x14],3)
#          with assume: assert size == 5
#          with assume: assert 100 <= (uds_rep[3]*256+uds_rep[4]) <= 1750

#      # @pytest.mark.skip()
#      @allure.severity('normal')
#      @allure.title('Test DID 3F 17 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 17 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 17 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F17_Default_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x17],3)
#          with assume: assert size == 5
#          with assume: assert 100 <= (uds_rep[3]*256+uds_rep[4]) <= 1750

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 18 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 18 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 18 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F18_Default_Phy(self,action,Driver):

#          VehicleManufacturerECUSoftwareVersionNumber=[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x18],3)
#          with assume: assert size == 11
#          for i in range(len(VehicleManufacturerECUSoftwareVersionNumber)):
#              with assume: assert hex(uds_rep[i+3]) == hex(VehicleManufacturerECUSoftwareVersionNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 19 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 19 of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 19 of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F19_Default_Phy(self,action,Driver):

#          ECUSoftwareVersionNumber=[0x00,0x00,0x00,0x00,0x00]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x19],3)
#          with assume: assert size == 8
#          for i in range(len(ECUSoftwareVersionNumber)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ECUSoftwareVersionNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0A of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0A of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0A of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F0A_Default_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0A],3)
#          with assume: assert size == 4

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0B of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0B of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0B of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F0B_Default_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0B],3)
#          with assume: assert size == 4

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0C of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0C of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0C of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F0C_Default_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0C],3)
#          with assume: assert size == 4

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0D of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0D of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0D of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F0D_Default_Phy(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig')
#          logging.info('ESP_VehicleSpeedVSOSig is {0}'.format(msg))
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0D],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x00 and uds_rep[4] == 0x00)
#          # Set signal ESP_VehicleSpeedVSOSigValidData = 0(valid)
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSigValidData',0)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSigValidData')
#          logging.info('ESP_VehicleSpeedVSOSigValidData is {0}'.format(msg))

#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig',100)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig')
#          logging.info('ESP_VehicleSpeedVSOSig is {0}'.format(msg))

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0D],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3:5] == [0x06,0x40]
#          # Set signal ESP_VehicleSpeedVSOSig = 0
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig',0)
#          time.sleep(0.5)

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0D],3)
#          with assume: assert True == (size == 5 and uds_rep[3:5] == [0x00,0x00])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0E of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0E of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0E of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F0E_Default_Phy(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','FVC_Safety','ICM_1','ICM_TotalOdometer_km')
#          logging.info('ICM_TotalOdometer_km is {0}'.format(msg))
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0E],3)
#          with assume: assert True == (size == 6 and uds_rep[3:6] == [0x00,0x00,0x00])
#          # Set signal ICM_TotalOdometer_km = 99999
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_1','ICM_TotalOdometer_km',99999)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_1','ICM_TotalOdometer_km')
#          logging.info('ICM_TotalOdometer_km is {0}'.format(msg))

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0E],3)
#          with assume: assert True == (size == 6 and uds_rep[3:6] == [0x01,0x86,0x9F])
#          # Set signal ICM_TotalOdometer_km = 0
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_1','ICM_TotalOdometer_km',0)
#          time.sleep(0.5)

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0E],3)
#          with assume: assert True == (size == 6 and uds_rep[3:6] == [0x00,0x00,0x00])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0F of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0F of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0F of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F0F_Default_Phy(self,action,Driver):
#          msg = []
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeSecond'))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMinute'))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeHour'))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeDay'))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMonth'))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeYear'))
#          logging.info('data is {0}'.format(msg))

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0F],3)
#          for i in range(5):
#               with assume: assert uds_rep[i+3] == msg[i]
#          msg = []
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeSecond',10)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeSecond'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMinute',32)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMinute'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeHour',14)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeHour'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeDay',22)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeDay'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMonth',6)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMonth'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeYear',2022)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeYear'))

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0F],3)
#          for i in range(5):
#               with assume: assert True == (msg[i] == uds_rep[i+3])
#          with assume: assert (msg[5] - 2000) == uds_rep[8]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 1A of read data by identifier 0x22')
#      @allure.description('Test DID 3F 1A of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 1A of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F1A_Default_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x1A],3)
#          with assume: assert size == 4
#          with assume: assert (0<= uds_rep[3] <= 50)

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 1B of read data by identifier 0x22')
#      @allure.description('Test DID 3F 1B of 0x22 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 1B of 0x22 in default session with physical addressing
#      def test_ReadDataById_3F1B_Default_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x1B],3)
#          with assume: assert size == 4
#          with assume: assert (0<= uds_rep[3] <= 50)

#      @allure.severity('normal')
#      @allure.description('Test DID F1 80 of 0x22 in extended session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 80 of 0x22 in default session with physical addressing
#      def test_ReadDataById_F180_Extended_Phy(self,action,Driver):

#          BootSwId = Set_up.BootSwId
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x80],3)
#          with assume: assert size == 35
#          for i in range(len(BootSwId)):
#              with assume: assert hex(uds_rep[i+3]) == hex(BootSwId[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 87 of read data by identifier 0x22')
#      @allure.description('Test DID F1 87 of 0x22 in extended session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 87 of 0x22 in default session with physical addressing
#      def test_ReadDataById_F187_Extended_Phy(self,action,Driver):
#          CowinSparePartNumber = Set_up.CowinSparePartNumber
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x87],3)
#          for i in range(len(CowinSparePartNumber)):
#              with assume: assert True == (size == 23 and hex(uds_rep[i+3]) == hex(CowinSparePartNumber[i]))

#      @allure.severity('normal')
#      @allure.title('Test DID F1 88 of read data by identifier 0x22')
#      @allure.description('Test DID F1 88 of 0x22 in extended session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 88 of 0x22 in extended session with physical addressing
#      def test_ReadDataById_F188_Extended_Phy(self,action,Driver):
#          ManufacturerECUSoftwareVersionNumber = Set_up.ManufacturerECUSoftwareVersionNumber
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x88],3)
#          with assume: assert size == 3+len(ManufacturerECUSoftwareVersionNumber)
#          for i in range(len(ManufacturerECUSoftwareVersionNumber)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ManufacturerECUSoftwareVersionNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 94 of read data by identifier 0x22')
#      @allure.description('Test DID F1 94 of 0x22 in extended session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 94 of 0x22 in extended session with physical addressing
#      def test_ReadDataById_F194_Extended_Phy(self,action,Driver):
#          ECUSoftwareCode = Set_up.ECUSoftwareCode
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x8A],3)
#          for i in range(len(ECUSoftwareCode)):
#              with assume: assert True == (size == 6 and hex(uds_rep[i+3]) == hex(ECUSoftwareCode[i]))

#      @allure.severity('normal')
#      @allure.title('Test DID F1 91 of read data by identifier 0x22')
#      @allure.description('Test DID F1 91 of 0x22 in extended session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 91 of 0x22 in extended session with physical addressing
#      def test_ReadDataById_F191_Extended_Phy(self,action,Driver):
#          ManufacturerECUHardwareNumber = [0x30,0x2E,0x30,0x2E,0x31]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x91],3)
#          with assume: assert size == 8
#          if len(ManufacturerECUHardwareNumber) > 3:
#              for i in range(len(ManufacturerECUHardwareNumber)-3):
#                  with assume: assert hex(uds_rep[i+3]) == hex(ManufacturerECUHardwareNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 90 of read data by identifier 0x22')
#      @allure.description('Test DID F1 90 of 0x22 in extended session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 90 of 0x22 in extended session with physical addressing
#      def test_ReadDataById_F190_Extended_Phy(self,action,Driver):
#          VIN = [0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x90],3)
#          for i in range(len(VIN)):
#              with assume: assert True == (size == 20 and hex(uds_rep[i+3]) == hex(VIN[i]))

#      @allure.severity('normal')
#      @allure.title('Test DID F1 8B of read data by identifier 0x22')
#      @allure.description('Test DID F1 8B of 0x22 in extended session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 8B of 0x22 in extended session with physical addressing
#      def test_ReadDataById_F18B_Extended_Phy(self,action,Driver):
#          ManufactureDate = [0x20,0x22,0x06,0x14]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x8B],3)
#          for i in range(len(ManufactureDate)):
#              with assume: assert True == (size == 7 and hex(uds_rep[i+3]) == hex(ManufactureDate[i]))

#      @allure.severity('normal')
#      @allure.title('Test DID F1 8C of read data by identifier 0x22')
#      @allure.description('Test DID F1 8C of 0x22 in extended session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 8C of 0x22 in extended session with physical addressing
#      def test_ReadDataById_F18C_Extended_Phy(self,action,Driver):
#          ECU_Serial_Number = [0x30,0x34,0x34,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x8C],3)
#          with assume: assert size == 15
#          for i in range(len(ECU_Serial_Number)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ECU_Serial_Number[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 92 of read data by identifier 0x22')
#      @allure.description('Test DID F1 92 of 0x22 in extended session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 92 of 0x22 in extended session with physical addressing
#      def test_ReadDataById_F192_Extended_Phy(self,action,Driver):
#          Supplier_ECU_Hardware_Version = [0x32,0x2e,0x31,0x2e,0x31,0x2e,0x30]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x92],3)
#          with assume: assert size == 10
#          for i in range(len(Supplier_ECU_Hardware_Version)):
#              with assume: assert hex(uds_rep[i+3]) == hex(Supplier_ECU_Hardware_Version[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 94 of read data by identifier 0x22')
#      @allure.description('Test DID F1 94 of 0x22 in extended session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 94 of 0x22 in default session with physical addressing
#      def test_ReadDataById_F194_Extended_Phy(self,action,Driver):
#          Supplier_ECU_Software_Version = [0x32,0x2e,0x37,0x2e,0x31,0x33,0x2e,0x42]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x94],3)
#          with assume: assert size == 11
#          for i in range(len(Supplier_ECU_Software_Version)):
#              with assume: assert hex(uds_rep[i+3]) == hex(Supplier_ECU_Software_Version[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 99 of read data by identifier 0x22')
#      @allure.description('Test DID F1 99 of 0x22 in extended session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 99 of 0x22 in extended session with physical addressing
#      def test_ReadDataById_F199_Extended_Phy(self,action,Driver):
#          ProgrammingDate = Set_up.ProgrammingDate
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x99],3)
#          with assume: assert size == 7
#          for i in range(len(ProgrammingDate)):
#               with assume: assert hex(uds_rep[i+3]) == hex(ProgrammingDate[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 00 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 00 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 00 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F00_Extended_Phy(self,action,Driver):
#          UDS_Configure_Parameter = [0xFF,0xFF,0xFF,0xE0]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x00],3)
#          with assume: assert size == 7
#          for i in range(len(UDS_Configure_Parameter)):
#               with assume: assert hex(uds_rep[i+3]) == hex(UDS_Configure_Parameter[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 01 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 01 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 01 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F01_Extended_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x01],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3:5] == [0x00,0x00]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 02 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 02 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 02 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F02_Extended_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x02],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3:5] == [0x00,0x00]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 03 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 03 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 03 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F03_Extended_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x03],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3:5] == [0x00,0x00]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 04 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 04 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 04 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F04_Extended_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x04],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 05 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 05 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 05 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F05_Extended_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x05],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 06 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 06 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 06 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F06_Extended_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x06],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 07 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 07 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 07 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F07_Extended_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x07],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 08 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 08 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 08 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F08_Extended_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x08],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x1E

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 09 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 09 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 09 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F09_Extended_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x09],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 10 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 10 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 10 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F10_Extended_Phy(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate')
#          logging.info('YAS_YawRate is {0}'.format(msg))
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x10],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x80 and uds_rep[4] == 0x00)
#        #   Set signal YAS_YawrateSigValidData = 0(valid)
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawrateSigValidData',0)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawrateSigValidData')
#          logging.info('YAS_YawrateSigValidData is {0}'.format(msg))

#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate',10)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate')
#          logging.info('YAS_YawRate is {0}'.format(msg))

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x10],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x83 and uds_rep[4] == 0xE8)

#          # Set signal YAS_YawRate = 0
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate',0)
#          time.sleep(0.5)

#          # Set signal YAS_YawrateSigValidData = 3(invalid)
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawrateSigValidData',3)
#          time.sleep(0.5)

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x10],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x80 and uds_rep[4] == 0x00)

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 12 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 12 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 12 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F12_Extended_Phy(self,action,Driver):
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x12],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 13 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 13 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 13 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F13_Extended_Phy(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear')
#          logging.info('TCU_ActualGear is {0}'.format(msg))
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0
#        #   Set signal TCU_ActualGear =11(gear P)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGearValidData',1)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGearValidData')
#          logging.info('TCU_ActualGearValidData is {0}'.format(msg))

#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',11)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear')
#          logging.info('TCU_ActualGear is {0}'.format(msg))

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x01

#          # Set signal TCU_ActualGear =7(gear D)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',7)
#          time.sleep(0.5)
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x03

#          # Set signal TCU_ActualGear =10(gear N)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',10)
#          time.sleep(0.5)
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x02

#          # Set signal TCU_ActualGear =10(gear R)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',9)
#          time.sleep(0.5)
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x04

#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',15)
#          time.sleep(1)

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 14 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 14 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 14 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F14_Extended_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x14],3)
#          with assume: assert size == 5
#          with assume: assert 100 <= (uds_rep[3]*256+uds_rep[4]) <= 1750

#      # @pytest.mark.skip()
#      @allure.severity('normal')
#      @allure.description('Test DID 3F 17 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#      def test_ReadDataById_3F17_Extended_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x17],3)
#          with assume: assert size == 5
#          with assume: assert 100 <= (uds_rep[3]*256+uds_rep[4]) <= 1750

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 18 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 18 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 18 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F18_Extended_Phy(self,action,Driver):

#          VehicleManufacturerECUSoftwareVersionNumber=[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x18],3)
#          with assume: assert size == 11
#          for i in range(len(VehicleManufacturerECUSoftwareVersionNumber)):
#              with assume: assert hex(uds_rep[i+3]) == hex(VehicleManufacturerECUSoftwareVersionNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 19 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 19 of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 19 of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F19_Extended_Phy(self,action,Driver):

#          ECUSoftwareVersionNumber=[0x00,0x00,0x00,0x00,0x00]
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x19],3)
#          with assume: assert size == 8
#          for i in range(len(ECUSoftwareVersionNumber)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ECUSoftwareVersionNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0A of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0A of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0A of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F0A_Extended_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0A],3)
#          with assume: assert size == 4

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0B of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0B of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0B of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F0B_Extended_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0B],3)
#          with assume: assert size == 4

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0C of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0C of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0C of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F0C_Extended_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0C],3)
#          with assume: assert size == 4

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0D of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0D of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0D of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F0D_Extended_Phy(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig')
#          logging.info('ESP_VehicleSpeedVSOSig is {0}'.format(msg))
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0D],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x00 and uds_rep[4] == 0x00)
#        #   Set signal ESP_VehicleSpeedVSOSigValidData = 0(valid)
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSigValidData',0)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSigValidData')
#          logging.info('ESP_VehicleSpeedVSOSigValidData is {0}'.format(msg))

#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig',100)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig')
#          logging.info('ESP_VehicleSpeedVSOSig is {0}'.format(msg))

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0D],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3] == 0x06
#          with assume: assert uds_rep[4] == 0x40
#          # Set signal ESP_VehicleSpeedVSOSig = 0
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig',0)
#          time.sleep(0.5)

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0D],3)
#          with assume: assert True == (size == 5 and uds_rep[3:5] == [0x00,0x00])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0E of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0E of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0E of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F0E_Extended_Phy(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','FVC_Safety','ICM_1','ICM_TotalOdometer_km')
#          logging.info('ICM_TotalOdometer_km is {0}'.format(msg))
#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0E],3)
#          with assume: assert True == (size == 6 and uds_rep[3:6] == [0x00,0x00,0x00])
#        #   Set signal ICM_TotalOdometer_km = 99999
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_1','ICM_TotalOdometer_km',99999)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_1','ICM_TotalOdometer_km')
#          logging.info('ICM_TotalOdometer_km is {0}'.format(msg))

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0E],3)
#          with assume: assert True == (size == 6 and uds_rep[3] == 0x01 and uds_rep[4] == 0x86 and uds_rep[5] == 0x9F)
#        #   Set signal ICM_TotalOdometer_km = 0
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_1','ICM_TotalOdometer_km',0)
#          time.sleep(0.5)

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0E],3)
#          with assume: assert True == (size == 6 and uds_rep[3:6] == [0x00,0x00,0x00])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0F of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0F of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0F of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F0F_Extended_Phy(self,action,Driver):
#          msg = []
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeSecond'))
#          logging.info('ICM_CurrentTimeSecond is {0}'.format(msg))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMinute'))
#          logging.info('ICM_CurrentTimeMinute is {0}'.format(msg))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeHour'))
#          logging.info('ICM_CurrentTimeHour is {0}'.format(msg))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeDay'))
#          logging.info('ICM_CurrentTimeDay is {0}'.format(msg))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMonth'))
#          logging.info('ICM_CurrentTimeMonth is {0}'.format(msg))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeYear'))
#          logging.info('ICM_CurrentTimeYear is {0}'.format(msg))

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0F],3)
#          for i in range(5):
#               with assume: assert uds_rep[i+3] == msg[i]
#          msg = []
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeSecond',10)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeSecond'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMinute',32)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMinute'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeHour',14)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeHour'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeDay',22)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeDay'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMonth',6)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMonth'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeYear',2022)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeYear'))

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x0F],3)
#          for i in range(5):
#               with assume: assert True == (msg[i] == uds_rep[i+3])
#          with assume: assert (msg[5] - 2000) == uds_rep[8]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 1A of read data by identifier 0x22')
#      @allure.description('Test DID 3F 1A of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 1A of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F1A_Extended_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x1A],3)
#          with assume: assert size == 4
#          with assume: assert (0<= uds_rep[3] <= 50)

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 1B of read data by identifier 0x22')
#      @allure.description('Test DID 3F 1B of 0x22 in Extende session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 1B of 0x22 in Extende session with physical addressing
#      def test_ReadDataById_3F1B_Extended_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0x3F,0x1B],3)
#          with assume: assert size == 4
#          with assume: assert (0<= uds_rep[3] <= 50)

#      @allure.severity('normal')
#      @allure.title('Test 0x22 NRC13 in default session with physical addressing')
#      @allure.description('Test 0x22 NRC13 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test 0x22 NRC13 in default session with physical addressing
#      def test_ReadDataById_NRC13_Default_Phy(self,action,Driver):

#          ReadDataById_NRC = [[0x22],
#                              [0x22,0xF1],
#                              [0x22,0x3F],
#                              [0x22,0xF1,0x87,0x13],
#                              [0x22,0xF1,0x8C,0xFF],
#                              [0x22,0x3F,0x17,0xDD,0x14]
#                             ]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          for i in range(len(ReadDataById_NRC)):
#              uds_rep,size = Driver['UDS'].req_and_res_can(ReadDataById_NRC[i], len(ReadDataById_NRC[i]))
#              with assume:assert uds_rep[0:3] == [0x7F,0x22,0x13]

#      @allure.severity('normal')
#      @allure.title('Test 0x22 NRC13 in extended session with physical addressing')
#      @allure.description('Test 0x22 NRC13 in extended session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test 0x22 NRC13 in extended session with physical addressing
#      def test_ReadDataById_NRC13_Extended_Phy(self,action,Driver):

#          ReadDataById_NRC = [[0x22],
#                              [0x22,0xF1],
#                              [0x22,0x3F],
#                              [0x22,0xF1,0x87,0x13],
#                              [0x22,0xF1,0x8C,0xFF],
#                              [0x22,0x3F,0x17,0xDD,0x14]
#                             ]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          for i in range(len(ReadDataById_NRC)):
#              uds_rep,size = Driver['UDS'].req_and_res_can(ReadDataById_NRC[i], len(ReadDataById_NRC[i]))
#              with assume:assert uds_rep[0:3] == [0x7F,0x22,0x13]

#      @allure.severity('normal')
#      @allure.title('Test 0x22 NRC31 in default session with physical addressing')
#      @allure.description('Test 0x22 NRC31 in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test 0x22 NRC31 in default session with physical addressing
#      def test_ReadDataById_NRC31_Default_Phy(self,action,Driver):

#          ReadDataById_NRC = [[0x22,0xF1,0x83],
#                              [0x22,0xFD,0x07],
#                              [0x22,0xDD,0x0F],
#                              [0x22,0x11,0x22]
#                             ]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          for i in range(len(ReadDataById_NRC)):
#              uds_rep,size = Driver['UDS'].req_and_res_can(ReadDataById_NRC[i], len(ReadDataById_NRC[i]))
#              with assume:assert uds_rep[0:3] == [0x7F,0x22,0x31]

#      @allure.severity('normal')
#      @allure.title('Test 0x22 NRC31 in extended session with physical addressing')
#      @allure.description('Test 0x22 NRC31 in extended session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test 0x22 NRC31 in extended session with physical addressing
#      def test_ReadDataById_NRC31_Extended_Phy(self,action,Driver):

#          ReadDataById_NRC = [[0x22,0xF1,0x83],
#                              [0x22,0xFD,0x07],
#                              [0x22,0xDD,0x0F],
#                              [0x22,0x11,0x22]
#                             ]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          for i in range(len(ReadDataById_NRC)):
#              uds_rep,size = Driver['UDS'].req_and_res_can(ReadDataById_NRC[i], len(ReadDataById_NRC[i]))
#              with assume:assert uds_rep[0:3] == [0x7F,0x22,0x31]

#      @allure.severity('normal')
#      @allure.title('Test 0x22 NRCpriority in default session with physical addressing')
#      @allure.description('Test 0x22 NRCpriority in default session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test 0x22 NRCpriority in default session with physical addressing
#      def test_ReadDataById_NRCpriority_Default_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x11,0x34,0xF0], 5)
#          with assume:assert uds_rep[0:3] == [0x7F,0x22,0x13]

#      @allure.severity('minor')
#      @allure.title('Test 0x22 NRCpriority in extended session with physical addressing')
#      @allure.description('Test 0x22 NRCpriority in extended session with physical addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test 0x22 NRCpriority in extended session with physical addressing
#      def test_ReadDataById_NRCpriority_Extended_Phy(self,action,Driver):

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDS'].req_and_res_can([0x22,0xF1,0x11,0x34,0xF0], 5)
#          with assume:assert uds_rep[0:3] == [0x7F,0x22,0x13]


# class Test_ReadDataById_Fun(object):
#      @allure.severity('normal')
#      @allure.story('Read data by identifier test')
#      @allure.title('Test DID F1 80 of read data by identifier 0x22')
#      @allure.description('Test DID F1 80 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test postive response of 0x22 in default session with function addressing
#      def test_ReadDataById_F180_Default_Fun(self,action,Driver):

#      #     BootSwId= [0x56,0x31,0x2E,0x32,0x30,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20]
#          BootSwId = Set_up.BootSwId
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x80],3)
#          with assume: assert size == 35
#          for i in range(len(BootSwId)):
#              with assume: assert hex(uds_rep[i+3]) == hex(BootSwId[i])

#      @allure.severity('critical')
#      @allure.title('Test DID F1 87 of read data by identifier 0x22')
#      @allure.description('Test DID F1 87 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 87 of 0x22 in default session with function addressing
#      def test_ReadDataById_F187_Default_Fun(self,action,Driver):
#          CowinSparePartNumber = Set_up.CowinSparePartNumber
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x87],3)
#          for i in range(len(CowinSparePartNumber)):
#              with assume: assert size == 23
#              with assume: assert hex(uds_rep[i+3]) == hex(CowinSparePartNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 88 of read data by identifier 0x22')
#      @allure.description('Test DID F1 88 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 88 of 0x22 in default session with function addressing
#      def test_ReadDataById_F188_Default_Fun(self,action,Driver):
#          ManufacturerECUSoftwareVersionNumber = Set_up.ManufacturerECUSoftwareVersionNumber
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x88],3)
#          with assume: assert size == 11
#          for i in range(len(ManufacturerECUSoftwareVersionNumber)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ManufacturerECUSoftwareVersionNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 8A of read data by identifier 0x22')
#      @allure.description('Test DID F1 8A of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 8A of 0x22 in default session with function addressing
#      def test_ReadDataById_F18A_Default_Fun(self,action,Driver):
#          systemSupplierIdentifier = [0x39,0x54,0x48]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x8A],3)
#          with assume: assert size == 6
#          for i in range(len(systemSupplierIdentifier)):
#              with assume: assert hex(uds_rep[i+3]) == hex(systemSupplierIdentifier[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 91 of read data by identifier 0x22')
#      @allure.description('Test DID F1 91 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 91 of 0x22 in default session with function addressing
#      def test_ReadDataById_F191_Default_Fun(self,action,Driver):
#          ManufacturerECUHardwareNumber = [0x30,0x2E,0x30,0x2E,0x31]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x91],3)
#          with assume: assert size == 8
#          for i in range(len(ManufacturerECUHardwareNumber)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ManufacturerECUHardwareNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 90 of read data by identifier 0x22')
#      @allure.description('Test DID F1 90 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 90 of 0x22 in default session with function addressing
#      def test_ReadDataById_F190_Default_Fun(self,action,Driver):
#          VIN = [0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x90],3)
#          with assume: assert size == 20
#          for i in range(len(VIN)):
#              with assume: assert hex(uds_rep[i+3]) == hex(VIN[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 8B of read data by identifier 0x22')
#      @allure.description('Test DID F1 8B of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 8B of 0x22 in default session with function addressing
#      def test_ReadDataById_F18B_Default_Fun(self,action,Driver):
#          ManufactureDate = [0x20,0x22,0x06,0x14]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x8B],3)
#          with assume: assert size == 7
#          for i in range(len(ManufactureDate)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ManufactureDate[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 8C of read data by identifier 0x22')
#      @allure.description('Test DID F1 8C of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 8C of 0x22 in default session with function addressing
#      def test_ReadDataById_F18C_Default_Fun(self,action,Driver):
#          ECU_Serial_Number = [0x30,0x34,0x34,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x8C],3)
#          with assume: assert size == 15
#          for i in range(len(ECU_Serial_Number)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ECU_Serial_Number[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 92 of read data by identifier 0x22')
#      @allure.description('Test DID F1 92 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 92 of 0x22 in default session with function addressing
#      def test_ReadDataById_F192_Default_Fun(self,action,Driver):
#          Supplier_ECU_Hardware_Version = [0x32,0x2e,0x31,0x2e,0x31,0x2e,0x30]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x92],3)
#          with assume: assert size == 10
#          for i in range(len(Supplier_ECU_Hardware_Version)):
#              with assume: assert hex(uds_rep[i+3]) == hex(Supplier_ECU_Hardware_Version[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 94 of read data by identifier 0x22')
#      @allure.description('Test DID F1 94 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 94 of 0x22 in default session with function addressing
#      def test_ReadDataById_F194_Default_Fun(self,action,Driver):
#          Supplier_ECU_Software_Version = [0x32,0x2e,0x37,0x2e,0x31,0x33,0x2e,0x42]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x94],3)
#          with assume: assert size == 11
#          for i in range(len(Supplier_ECU_Software_Version)):
#              with assume: assert hex(uds_rep[i+3]) == hex(Supplier_ECU_Software_Version[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 99 of read data by identifier 0x22')
#      @allure.description('Test DID F1 99 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 99 of 0x22 in default session with function addressing
#      def test_ReadDataById_F199_Default_Fun(self,action,Driver):
#          ProgrammingDate = Set_up.ProgrammingDate
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x99],3)
#          with assume: assert size == 7
#          for i in range(len(ProgrammingDate)):
#               with assume: assert hex(uds_rep[i+3]) == hex(ProgrammingDate[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 00 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 00 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 00 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F00_Default_Fun(self,action,Driver):
#          UDS_Configure_Parameter = [0xFF,0xFF,0xFF,0xE0]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x00],3)
#          with assume: assert size == 7
#          for i in range(len(UDS_Configure_Parameter)):
#               with assume: assert hex(uds_rep[i+3]) == hex(UDS_Configure_Parameter[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 01 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 01 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 01 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F01_Default_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x01],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3:5] == [0x00,0x00]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 02 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 02 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 02 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F02_Default_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x02],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3:5] == [0x00,0x00]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 03 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 03 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 03 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F03_Default_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x03],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3:5] == [0x00,0x00]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 04 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 04 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 04 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F04_Default_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x04],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 05 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 05 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 05 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F05_Default_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x05],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 06 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 06 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 06 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F06_Default_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x06],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 07 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 07 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 07 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F07_Default_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x07],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 08 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 08 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 08 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F08_Default_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x08],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x1E

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 09 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 09 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 09 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F09_Default_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x09],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 10 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 10 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 10 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F10_Default_Fun(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate')
#          logging.info('YAS_YawRate is {0}'.format(msg))
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x10],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x80 and uds_rep[4] == 0x00)
#        #   Set signal YAS_YawrateSigValidData = 0(valid)
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawrateSigValidData',0)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawrateSigValidData')
#          logging.info('YAS_YawrateSigValidData is {0}'.format(msg))

#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate',10)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate')
#          logging.info('YAS_YawRate is {0}'.format(msg))

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x10],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x83 and uds_rep[4] == 0xE8)

#          # Set signal YAS_YawRate = 0
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate',0)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate')

#          # Set signal YAS_YawrateSigValidData = 3(invalid)
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawrateSigValidData',3)
#          time.sleep(0.5)

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x10],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x80 and uds_rep[4] == 0x00)

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 12 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 12 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 12 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F12_Default_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x12],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 13 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 13 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 13 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F13_Default_Fun(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear')
#          logging.info('TCU_ActualGear is {0}'.format(msg))
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00
#        #   Set signal TCU_ActualGear =11(gear P)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGearValidData',1)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGearValidData')
#          logging.info('TCU_ActualGearValidData is {0}'.format(msg))

#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',11)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear')
#          logging.info('TCU_ActualGear is {0}'.format(msg))

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x01

#          # Set signal TCU_ActualGear =7(gear D)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',7)
#          time.sleep(0.5)
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x03

#          # Set signal TCU_ActualGear =10(gear N)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',10)
#          time.sleep(0.5)
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x02

#          # Set signal TCU_ActualGear =10(gear R)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',9)
#          time.sleep(0.5)
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x04

#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',15)
#          time.sleep(0.5)

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 14 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 14 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 14 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F14_Default_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x14],3)
#          with assume: assert size == 5
#          with assume: assert 100 <= (uds_rep[3]*256+uds_rep[4]) <= 1750

#      # @pytest.mark.skip()
#      @allure.severity('normal')
#      @allure.description('Test DID 3F 17 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#      def test_ReadDataById_3F17_Default_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x17],3)
#          with assume: assert size == 5
#          with assume: assert 100 <= (uds_rep[3]*256+uds_rep[4]) <= 1750

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 18 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 18 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 18 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F18_Default_Fun(self,action,Driver):

#          VehicleManufacturerECUSoftwareVersionNumber=[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x18],3)
#          with assume: assert size == 11
#          for i in range(len(VehicleManufacturerECUSoftwareVersionNumber)):
#              with assume: assert hex(uds_rep[i+3]) == hex(VehicleManufacturerECUSoftwareVersionNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 19 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 19 of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 19 of 0x22 in default session with function addressing
#      def test_ReadDataById_3F19_Default_Fun(self,action,Driver):

#          ECUSoftwareVersionNumber=[0x00,0x00,0x00,0x00,0x00]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x19],3)
#          with assume: assert size == 8
#          for i in range(len(ECUSoftwareVersionNumber)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ECUSoftwareVersionNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0A of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0A of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0A of 0x22 in default session with function addressing
#      def test_ReadDataById_3F0A_Default_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0A],3)
#          with assume: assert size == 4

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0B of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0B of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0B of 0x22 in default session with function addressing
#      def test_ReadDataById_3F0B_Default_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0B],3)
#          with assume: assert size == 4

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0C of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0C of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0C of 0x22 in default session with function addressing
#      def test_ReadDataById_3F0C_Default_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0C],3)
#          with assume: assert size == 4

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0D of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0D of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0D of 0x22 in default session with function addressing
#      def test_ReadDataById_3F0D_Default_Fun(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig')
#          logging.info('ESP_VehicleSpeedVSOSig is {0}'.format(msg))
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0D],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x00 and uds_rep[4] == 0x00)
#          # Set signal ESP_VehicleSpeedVSOSigValidData = 0(valid)
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSigValidData',0)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSigValidData')
#          logging.info('ESP_VehicleSpeedVSOSigValidData is {0}'.format(msg))

#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig',100)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig')
#          logging.info('ESP_VehicleSpeedVSOSig is {0}'.format(msg))

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0D],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3:5] == [0x06,0x40]
#          # Set signal ESP_VehicleSpeedVSOSig = 0
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig',0)
#          time.sleep(0.5)

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0D],3)
#          with assume: assert True == (size == 5 and uds_rep[3:5] == [0x00,0x00])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0E of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0E of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0E of 0x22 in default session with function addressing
#      def test_ReadDataById_3F0E_Default_Fun(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','FVC_Safety','ICM_1','ICM_TotalOdometer_km')
#          logging.info('ICM_TotalOdometer_km is {0}'.format(msg))
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0E],3)
#          with assume: assert True == (size == 6 and uds_rep[3:6] == [0x00,0x00,0x00])
#          # Set signal ICM_TotalOdometer_km = 99999
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_1','ICM_TotalOdometer_km',99999)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_1','ICM_TotalOdometer_km')
#          logging.info('ICM_TotalOdometer_km is {0}'.format(msg))

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0E],3)
#          with assume: assert True == (size == 6 and uds_rep[3:6] == [0x01,0x86,0x9F])
#          # Set signal ICM_TotalOdometer_km = 0
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_1','ICM_TotalOdometer_km',0)
#          time.sleep(0.5)

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0E],3)
#          with assume: assert True == (size == 6 and uds_rep[3:6] == [0x00,0x00,0x00])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0F of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0F of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0F of 0x22 in default session with function addressing
#      def test_ReadDataById_3F0F_Default_Fun(self,action,Driver):
#          msg = []
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeSecond'))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMinute'))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeHour'))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeDay'))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMonth'))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeYear'))
#          logging.info('data is {0}'.format(msg))

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0F],3)
#          for i in range(5):
#               with assume: assert uds_rep[i+3] == msg[i]
#          msg = []
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeSecond',10)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeSecond'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMinute',32)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMinute'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeHour',14)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeHour'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeDay',22)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeDay'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMonth',6)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMonth'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeYear',2022)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeYear'))

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0F],3)
#          for i in range(5):
#               with assume: assert True == (msg[i] == uds_rep[i+3])
#          with assume: assert (msg[5] - 2000) == uds_rep[8]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 1A of read data by identifier 0x22')
#      @allure.description('Test DID 3F 1A of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 1A of 0x22 in default session with function addressing
#      def test_ReadDataById_3F1A_Default_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x1A],3)
#          with assume: assert size == 4
#          with assume: assert (0<= uds_rep[3] <= 50)

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 1B of read data by identifier 0x22')
#      @allure.description('Test DID 3F 1B of 0x22 in default session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 1B of 0x22 in default session with function addressing
#      def test_ReadDataById_3F1B_Default_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x1B],3)
#          with assume: assert size == 4
#          with assume: assert (0<= uds_rep[3] <= 50)

#      @allure.severity('normal')
#      @allure.description('Test DID F1 80 of 0x22 in extended session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 80 of 0x22 in default session with function addressing
#      def test_ReadDataById_F180_Extended_Fun(self,action,Driver):

#          BootSwId = Set_up.BootSwId
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x80],3)
#          with assume: assert size == 35
#          for i in range(len(BootSwId)):
#              with assume: assert hex(uds_rep[i+3]) == hex(BootSwId[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 87 of read data by identifier 0x22')
#      @allure.description('Test DID F1 87 of 0x22 in extended session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 87 of 0x22 in default session with function addressing
#      def test_ReadDataById_F187_Extended_Fun(self,action,Driver):
#          CowinSparePartNumber = Set_up.CowinSparePartNumber
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x87],3)
#          for i in range(len(CowinSparePartNumber)):
#              with assume: assert True == (size == 23 and hex(uds_rep[i+3]) == hex(CowinSparePartNumber[i]))

#      @allure.severity('normal')
#      @allure.title('Test DID F1 88 of read data by identifier 0x22')
#      @allure.description('Test DID F1 88 of 0x22 in extended session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 88 of 0x22 in extended session with function addressing
#      def test_ReadDataById_F188_Extended_Fun(self,action,Driver):
#          ManufacturerECUSoftwareVersionNumber = Set_up.ManufacturerECUSoftwareVersionNumber
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x88],3)
#          with assume: assert size == 11
#          for i in range(len(ManufacturerECUSoftwareVersionNumber)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ManufacturerECUSoftwareVersionNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 8A of read data by identifier 0x22')
#      @allure.description('Test DID F1 8A of 0x22 in extended session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 8A of 0x22 in extended session with function addressing
#      def test_ReadDataById_F18A_Extended_Fun(self,action,Driver):
#          systemSupplierIdentifier = [0x39,0x54,0x48]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x8A],3)
#          for i in range(len(systemSupplierIdentifier)):
#              with assume: assert True == (size == 6 and hex(uds_rep[i+3]) == hex(systemSupplierIdentifier[i]))

#      @allure.severity('normal')
#      @allure.title('Test DID F1 91 of read data by identifier 0x22')
#      @allure.description('Test DID F1 91 of 0x22 in extended session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 91 of 0x22 in extended session with function addressing
#      def test_ReadDataById_F191_Extended_Fun(self,action,Driver):
#          ManufacturerECUHardwareNumber = [0x30,0x2E,0x30,0x2E,0x31]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x91],3)
#          with assume: assert size == 8
#          if len(ManufacturerECUHardwareNumber) > 3:
#              for i in range(len(ManufacturerECUHardwareNumber)-3):
#                  with assume: assert hex(uds_rep[i+3]) == hex(ManufacturerECUHardwareNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 90 of read data by identifier 0x22')
#      @allure.description('Test DID F1 90 of 0x22 in extended session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 90 of 0x22 in extended session with function addressing
#      def test_ReadDataById_F190_Extended_Fun(self,action,Driver):
#          VIN = [0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x90],3)
#          for i in range(len(VIN)):
#              with assume: assert True == (size == 20 and hex(uds_rep[i+3]) == hex(VIN[i]))

#      @allure.severity('normal')
#      @allure.title('Test DID F1 8B of read data by identifier 0x22')
#      @allure.description('Test DID F1 8B of 0x22 in extended session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 8B of 0x22 in extended session with function addressing
#      def test_ReadDataById_F18B_Extended_Fun(self,action,Driver):
#          ManufactureDate = [0x20,0x22,0x06,0x14]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x8B],3)
#          for i in range(len(ManufactureDate)):
#              with assume: assert True == (size == 7 and hex(uds_rep[i+3]) == hex(ManufactureDate[i]))

#      @allure.severity('normal')
#      @allure.title('Test DID F1 8C of read data by identifier 0x22')
#      @allure.description('Test DID F1 8C of 0x22 in extended session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 8C of 0x22 in extended session with function addressing
#      def test_ReadDataById_F18C_Extended_Fun(self,action,Driver):
#          ECU_Serial_Number = [0x30,0x34,0x34,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x8C],3)
#          with assume: assert size == 15
#          for i in range(len(ECU_Serial_Number)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ECU_Serial_Number[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 92 of read data by identifier 0x22')
#      @allure.description('Test DID F1 92 of 0x22 in extended session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 92 of 0x22 in extended session with function addressing
#      def test_ReadDataById_F192_Extended_Fun(self,action,Driver):
#          Supplier_ECU_Hardware_Version = [0x32,0x2e,0x31,0x2e,0x31,0x2e,0x30]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x92],3)
#          with assume: assert size == 10
#          for i in range(len(Supplier_ECU_Hardware_Version)):
#              with assume: assert hex(uds_rep[i+3]) == hex(Supplier_ECU_Hardware_Version[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 94 of read data by identifier 0x22')
#      @allure.description('Test DID F1 94 of 0x22 in extended session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 94 of 0x22 in default session with function addressing
#      def test_ReadDataById_F194_Extended_Fun(self,action,Driver):
#          Supplier_ECU_Software_Version = [0x32,0x2e,0x37,0x2e,0x31,0x33,0x2e,0x42]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x94],3)
#          with assume: assert size == 11
#          for i in range(len(Supplier_ECU_Software_Version)):
#              with assume: assert hex(uds_rep[i+3]) == hex(Supplier_ECU_Software_Version[i])

#      @allure.severity('normal')
#      @allure.title('Test DID F1 99 of read data by identifier 0x22')
#      @allure.description('Test DID F1 99 of 0x22 in extended session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID F1 99 of 0x22 in extended session with function addressing
#      def test_ReadDataById_F199_Extended_Fun(self,action,Driver):
#          ProgrammingDate = Set_up.ProgrammingDate
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x01],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x01]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0xF1,0x99],3)
#          with assume: assert size == 7
#          for i in range(len(ProgrammingDate)):
#               with assume: assert hex(uds_rep[i+3]) == hex(ProgrammingDate[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 00 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 00 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 00 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F00_Extended_Fun(self,action,Driver):
#          UDS_Configure_Parameter = [0xFF,0xFF,0xFF,0xE0]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x00],3)
#          with assume: assert size == 7
#          for i in range(len(UDS_Configure_Parameter)):
#               with assume: assert hex(uds_rep[i+3]) == hex(UDS_Configure_Parameter[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 01 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 01 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 01 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F01_Extended_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x01],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3:5] == [0x00,0x00]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 02 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 02 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 02 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F02_Extended_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x02],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3:5] == [0x00,0x00]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 03 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 03 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 03 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F03_Extended_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x03],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3:5] == [0x00,0x00]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 04 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 04 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 04 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F04_Extended_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x04],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 05 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 05 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 05 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F05_Extended_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x05],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 06 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 06 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 06 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F06_Extended_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x06],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 07 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 07 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 07 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F07_Extended_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x07],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 08 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 08 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 08 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F08_Extended_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x08],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x1E

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 09 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 09 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 09 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F09_Extended_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x09],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 10 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 10 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 10 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F10_Extended_Fun(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate')
#          logging.info('YAS_YawRate is {0}'.format(msg))
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x10],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x80 and uds_rep[4] == 0x00)
#        #   Set signal YAS_YawrateSigValidData = 0(valid)
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawrateSigValidData',0)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawrateSigValidData')
#          logging.info('YAS_YawrateSigValidData is {0}'.format(msg))

#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate',10)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate')
#          logging.info('YAS_YawRate is {0}'.format(msg))

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x10],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x83 and uds_rep[4] == 0xE8)

#          # Set signal YAS_YawRate = 0
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawRate',0)
#          time.sleep(0.5)
#          # Set signal YAS_YawrateSigValidData = 3(invalid)
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','YAS_1','YAS_YawrateSigValidData',3)
#          time.sleep(0.5)

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x10],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x80 and uds_rep[4] == 0x00)

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 12 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 12 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 12 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F12_Extended_Fun(self,action,Driver):
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x12],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 13 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 13 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 13 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F13_Extended_Fun(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear')
#          logging.info('TCU_ActualGear is {0}'.format(msg))
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x00
#        #   Set signal TCU_ActualGear =11(gear P)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGearValidData',1)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGearValidData')
#          logging.info('TCU_ActualGearValidData is {0}'.format(msg))

#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',11)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear')
#          logging.info('TCU_ActualGear is {0}'.format(msg))

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x01

#          # Set signal TCU_ActualGear =7(gear D)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',7)
#          time.sleep(0.5)
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x03

#          # Set signal TCU_ActualGear =10(gear N)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',10)
#          time.sleep(0.5)
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x02

#          # Set signal TCU_ActualGear =10(gear R)
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',9)
#          time.sleep(0.5)
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x13],3)
#          with assume: assert size == 4
#          with assume: assert uds_rep[3] == 0x04

#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','TCU_2_CVT_DCT','TCU_ActualGear',15)
#          time.sleep(0.5)

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 14 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 14 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 14 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F14_Extended_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x14],3)
#          with assume: assert size == 5
#          with assume: assert 100 <= (uds_rep[3]*256+uds_rep[4]) <= 1750

#      # @pytest.mark.skip()
#      @allure.severity('normal')
#      @allure.description('Test DID 3F 17 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
#      def test_ReadDataById_3F17_Extended_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x17],3)
#          with assume: assert size == 5
#          with assume: assert 100 <= (uds_rep[3]*256+uds_rep[4]) <= 1750

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 18 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 18 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 18 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F18_Extended_Fun(self,action,Driver):

#          VehicleManufacturerECUSoftwareVersionNumber=[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x18],3)
#          with assume: assert size == 11
#          for i in range(len(VehicleManufacturerECUSoftwareVersionNumber)):
#              with assume: assert hex(uds_rep[i+3]) == hex(VehicleManufacturerECUSoftwareVersionNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 19 of read data by identifier 0x22')
#      @allure.description('Test DID 3F 19 of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 19 of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F19_Extended_Fun(self,action,Driver):

#          ECUSoftwareVersionNumber=[0x00,0x00,0x00,0x00,0x00]
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x19],3)
#          with assume: assert size == 8
#          for i in range(len(ECUSoftwareVersionNumber)):
#              with assume: assert hex(uds_rep[i+3]) == hex(ECUSoftwareVersionNumber[i])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0A of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0A of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0A of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F0A_Extended_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0A],3)
#          with assume: assert size == 4

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0B of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0B of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0B of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F0B_Extended_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0B],3)
#          with assume: assert size == 4

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0C of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0C of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0C of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F0C_Extended_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0C],3)
#          with assume: assert size == 4

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0D of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0D of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0D of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F0D_Extended_Fun(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig')
#          logging.info('ESP_VehicleSpeedVSOSig is {0}'.format(msg))
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0D],3)
#          with assume: assert True == (size == 5 and uds_rep[3] == 0x00 and uds_rep[4] == 0x00)
#        #   Set signal ESP_VehicleSpeedVSOSigValidData = 0(valid)
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSigValidData',0)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSigValidData')
#          logging.info('ESP_VehicleSpeedVSOSigValidData is {0}'.format(msg))

#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig',100)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig')
#          logging.info('ESP_VehicleSpeedVSOSig is {0}'.format(msg))

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0D],3)
#          with assume: assert size == 5
#          with assume: assert uds_rep[3] == 0x06
#          with assume: assert uds_rep[4] == 0x40
#          # Set signal ESP_VehicleSpeedVSOSig = 0
#          Driver['CAN'].write_db_signal('CAN_DBC','ABS_ESP_Safety','ABS_ESP_1','ESP_VehicleSpeedVSOSig',0)
#          time.sleep(0.5)

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0D],3)
#          with assume: assert True == (size == 5 and uds_rep[3:5] == [0x00,0x00])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0E of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0E of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0E of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F0E_Extended_Fun(self,action,Driver):

#          msg = Driver['CAN'].read_db_signal('CAN_DBC','FVC_Safety','ICM_1','ICM_TotalOdometer_km')
#          logging.info('ICM_TotalOdometer_km is {0}'.format(msg))
#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0E],3)
#          with assume: assert True == (size == 6 and uds_rep[3:6] == [0x00,0x00,0x00])
#        #   Set signal ICM_TotalOdometer_km = 99999
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_1','ICM_TotalOdometer_km',99999)
#          time.sleep(0.5)
#          msg = Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_1','ICM_TotalOdometer_km')
#          logging.info('ICM_TotalOdometer_km is {0}'.format(msg))

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0E],3)
#          with assume: assert True == (size == 6 and uds_rep[3] == 0x01 and uds_rep[4] == 0x86 and uds_rep[5] == 0x9F)
#        #   Set signal ICM_TotalOdometer_km = 0
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_1','ICM_TotalOdometer_km',0)
#          time.sleep(0.5)

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0E],3)
#          with assume: assert True == (size == 6 and uds_rep[3:6] == [0x00,0x00,0x00])

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 0F of read data by identifier 0x22')
#      @allure.description('Test DID 3F 0F of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 0F of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F0F_Extended_Fun(self,action,Driver):
#          msg = []
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeSecond'))
#          logging.info('ICM_CurrentTimeSecond is {0}'.format(msg))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMinute'))
#          logging.info('ICM_CurrentTimeMinute is {0}'.format(msg))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeHour'))
#          logging.info('ICM_CurrentTimeHour is {0}'.format(msg))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeDay'))
#          logging.info('ICM_CurrentTimeDay is {0}'.format(msg))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMonth'))
#          logging.info('ICM_CurrentTimeMonth is {0}'.format(msg))
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeYear'))
#          logging.info('ICM_CurrentTimeYear is {0}'.format(msg))

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0F],3)
#          for i in range(5):
#               with assume: assert uds_rep[i+3] == msg[i]
#          msg = []
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeSecond',10)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeSecond'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMinute',32)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMinute'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeHour',14)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeHour'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeDay',22)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeDay'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMonth',6)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeMonth'))
#          Driver['CAN'].write_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeYear',2022)
#          time.sleep(0.5)
#          msg.append(Driver['CAN'].read_db_signal('CAN_DBC','CGW_Safety','ICM_DateTime','ICM_CurrentTimeYear'))

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x0F],3)
#          for i in range(5):
#               with assume: assert True == (msg[i] == uds_rep[i+3])
#          with assume: assert (msg[5] - 2000) == uds_rep[8]

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 1A of read data by identifier 0x22')
#      @allure.description('Test DID 3F 1A of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 1A of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F1A_Extended_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x1A],3)
#          with assume: assert size == 4
#          with assume: assert (0<= uds_rep[3] <= 50)

#      @allure.severity('normal')
#      @allure.title('Test DID 3F 1B of read data by identifier 0x22')
#      @allure.description('Test DID 3F 1B of 0x22 in Extende session with function addressing')
#      @allure.testcase('Test cases address:https://chengtech.pingcode.com/testhub/libraries/630357052177ea2394680877/cases')
# #    Test DID 3F 1B of 0x22 in Extende session with function addressing
#      def test_ReadDataById_3F1B_Extended_Fun(self,action,Driver):

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x10,0x03],2)
#          with assume: assert uds_rep[0:2] == [0x50,0x03]

#          uds_rep,size = Driver['UDSFun'].req_and_res_can([0x22,0x3F,0x1B],3)
#          with assume: assert size == 4
#          with assume: assert (0<= uds_rep[3] <= 50)
